<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="lsof ( List Open Files) FD  cwd： current work dirctory，应用程序的当前工作目录 txt ：进程程序代码 .u： 该文件被打开并处于 读/写 模式 .r： 该文件被打开并处于 只读模式   更多详见： man lsof
 TYPE  DIR：目录 REG：文件 IPv4：网际协议 (IP) 套接字 unix： UNIX 域套接字 KQUEUE： 内核时间队列   更多详见： man lsof
 案例 网络相关 # 列出所有的网络连接 $ lsof -i # 查看端口占用 $ lsof -i :8080 # 所有 TCP 网络连接信息 $ lsof -i tcp # 所有 UDP 网络连接信息 $ lsof -i udp 文件占用 # 打开 lsof."><meta property="og:title" content="lsof ( List Open Files)" />
<meta property="og:description" content="lsof ( List Open Files) FD  cwd： current work dirctory，应用程序的当前工作目录 txt ：进程程序代码 .u： 该文件被打开并处于 读/写 模式 .r： 该文件被打开并处于 只读模式   更多详见： man lsof
 TYPE  DIR：目录 REG：文件 IPv4：网际协议 (IP) 套接字 unix： UNIX 域套接字 KQUEUE： 内核时间队列   更多详见： man lsof
 案例 网络相关 # 列出所有的网络连接 $ lsof -i # 查看端口占用 $ lsof -i :8080 # 所有 TCP 网络连接信息 $ lsof -i tcp # 所有 UDP 网络连接信息 $ lsof -i udp 文件占用 # 打开 lsof." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://hello-world-example.github.io/linux/docs/200_Command/220_Troubleshooting/lsof/" />
<meta property="article:modified_time" content="2022-12-11T01:38:37+08:00" />
<title>lsof ( List Open Files) | Linux</title>
<link rel="icon" href="/linux/favicon.png" type="image/x-icon">


<link rel="stylesheet" href="/linux/book.min.00b8e784201abfe629a6e0741e94bf44575af8612aec171d94e4ecbd3692cf5c.css" integrity="sha256-ALjnhCAav&#43;YppuB0HpS/RFda&#43;GEq7BcdlOTsvTaSz1w=">


<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

  
</head>

<body>
  <input type="checkbox" class="hidden" id="menu-control" />
  <main class="container flex">
    <aside class="book-menu">
      
  <nav>
<h2 class="book-brand">
  <a href="/linux"><span>Linux</span>
  </a>
</h2>












  

  
  





 
  
    




  
  <ul>
    
      
        

  <li>
    

  
  <a href="/linux/docs/100_Shell/" class="collapsed ">Shell</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/" class="collapsed ">Command</a>
  


    




  
  <ul>
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/210_Common/" class="collapsed ">常用工具</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/220_Troubleshooting/" class="collapsed ">故障排查</a>
  


    




  
  <ul>
    
      
        <li>

  
  <a href="/linux/docs/200_Command/220_Troubleshooting/lsof/" class="active">lsof ( List Open Files)</a>
  

</li>
      
    
      
        <li>

  
  <a href="/linux/docs/200_Command/220_Troubleshooting/perf/" class="">perf（CPU）</a>
  

</li>
      
    
      
        <li>

  
  <a href="/linux/docs/200_Command/220_Troubleshooting/top/" class="">top</a>
  

</li>
      
    
      
        <li>

  
  <a href="/linux/docs/200_Command/220_Troubleshooting/htop/" class="">htop</a>
  

</li>
      
    
      
        <li>

  
  <a href="/linux/docs/200_Command/220_Troubleshooting/mtr/" class="">mtr</a>
  

</li>
      
    
  </ul>
  



  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/230_Network/" class="collapsed ">Network</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/240_Disk/" class="collapsed ">磁盘</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/250_String/" class="collapsed ">字符串操作</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/260_Auth/" class="collapsed ">账户权限</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/270_Package/" class="collapsed ">Package..</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/280_System/" class="collapsed ">系统管理</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/200_Command/290_Compression/" class="collapsed ">解压缩</a>
  


    






  </li>


      
    
  </ul>
  



  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/300_Configuration/" class="collapsed ">文件和配置</a>
  


    






  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/900_FAQ/" class="">FAQ</a>
  


    




  
  <ul>
    
  </ul>
  



  </li>


      
    
      
        

  <li>
    

  
  <a href="/linux/docs/999_Links/" class="">Links 🔗</a>
  


    




  
  <ul>
    
  </ul>
  



  </li>


      
    
  </ul>
  



  
















</nav>




  <script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script>


 
    </aside>

    <div class="book-page">
      <header class="book-header">
        
  <div class="flex align-center justify-between">
  <label for="menu-control">
    <img src="/linux/svg/menu.svg" class="book-icon" alt="Menu" />
  </label>

  <strong>lsof ( List Open Files)</strong>

  <label for="toc-control">
    <img src="/linux/svg/toc.svg" class="book-icon" alt="Table of Contents" />
  </label>
</div>


  
    <input type="checkbox" class="hidden" id="toc-control" />
    <aside class="hidden clearfix">
      
  <nav id="TableOfContents">
  <ul>
    <li><a href="#lsof--list-open-files">lsof ( List Open Files)</a>
      <ul>
        <li><a href="#fd">FD</a></li>
        <li><a href="#type">TYPE</a></li>
        <li><a href="#案例">案例</a>
          <ul>
            <li><a href="#网络相关">网络相关</a></li>
            <li><a href="#文件占用">文件占用</a></li>
          </ul>
        </li>
        <li><a href="#参数">参数</a></li>
        <li><a href="#read-more">Read More</a></li>
      </ul>
    </li>
  </ul>
</nav>


    </aside>
  
 
      </header>

      
      
  <article class="markdown"><h1 id="lsof--list-open-files">lsof ( List Open Files)</h1>
<h2 id="fd">FD</h2>
<ul>
<li><code>cwd</code>： current work dirctory，应用程序的当前工作目录</li>
<li><code>txt</code> ：进程程序代码</li>
<li>.u： 该文件被打开并处于 读/写 模式</li>
<li>.r： 该文件被打开并处于 只读模式</li>
</ul>
<blockquote>
<p>更多详见： <code>man lsof</code></p>
</blockquote>
<h2 id="type">TYPE</h2>
<ul>
<li><code>DIR</code>：目录</li>
<li><code>REG</code>：文件</li>
<li><code>IPv4</code>：网际协议 (IP) 套接字</li>
<li>unix： UNIX 域套接字</li>
<li>KQUEUE： 内核时间队列</li>
</ul>
<blockquote>
<p>更多详见： <code>man lsof</code></p>
</blockquote>
<h2 id="案例">案例</h2>
<h3 id="网络相关">网络相关</h3>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#75715e"># 列出所有的网络连接</span>
$ lsof -i

<span style="color:#75715e"># 查看端口占用</span>
$ lsof -i :8080  

<span style="color:#75715e"># 所有 TCP 网络连接信息</span>
$ lsof -i tcp
<span style="color:#75715e"># 所有 UDP 网络连接信息</span>
$ lsof -i udp
</code></pre></div><h3 id="文件占用">文件占用</h3>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#75715e"># 打开 lsof.md 文件的进程（pid）</span>
$ lsof lsof.md

<span style="color:#75715e"># 当前目录下的文件被哪些进程打开（pid）</span>
$ lsof +d .

<span style="color:#75715e"># 查看进程打开的所有文件句柄</span>
$ lsof -p <span style="color:#ae81ff">86221</span>
$ lsof -c hugo
$ lsof -c hugo -a -d txt

<span style="color:#75715e"># 进程开启的端口</span>
$ lsof -p <span style="color:#ae81ff">86221</span> | grep IPv
$ lsof -p <span style="color:#ae81ff">86221</span> -a -i <span style="color:#ae81ff">4</span>
$ lsof -p <span style="color:#ae81ff">86221</span> -a -i TCP
<span style="color:#75715e"># 文件句柄数统计</span>
$ lsof -c hugo | wc -l
</code></pre></div><h2 id="参数">参数</h2>
<ul>
<li>
<p><code>lsof  filename</code> 显示打开指定文件的所有进程</p>
</li>
<li>
<p><code>lsof -c string</code>   显示command列中包含指定字符的<strong>进程所有打开的文件</strong></p>
</li>
<li>
<p><code>lsof -p pid</code>   指定<strong>进程所有打开的文件</strong></p>
</li>
<li></li>
<li>
<p><code>lsof +d /DIR/</code> 显示目录下被进程打开的文件</p>
</li>
<li>
<p><code>lsof +D /DIR/</code> 同上，但是会搜索目录下的所有目录，时间相对较长</p>
</li>
<li></li>
<li>
<p><code>lsof -u username</code>  显示所属user进程打开的文件</p>
</li>
<li>
<p><code>lsof -g gid</code> 显示归属gid的进程情况</p>
</li>
<li>
<p><code>lsof -d FD</code> 显示指定文件描述符的进程</p>
</li>
<li></li>
<li>
<p><code>lsof -a</code> and 操作</p>
</li>
<li>
<p><code>lsof -i</code> 显示符合条件的进程，格式：<code>lsof -i[46][protocol][@hostname|hostaddr][:service|port]</code></p>
<ul>
<li><code>46</code> &ndash;&gt; IPv4 or IPv6</li>
<li>protocol &ndash;&gt; <code>TCP</code> or <code>UDP</code></li>
<li>hostname &ndash;&gt; Internet host name</li>
<li>hostaddr &ndash;&gt; <code>IPv4地址</code></li>
<li>service &ndash;&gt; <code>/etc/services</code> 文件中的 service name</li>
<li>port &ndash;&gt; <code>端口号</code></li>
</ul>
</li>
</ul>
<h2 id="read-more">Read More</h2>
<ul>
<li>
  <a href="https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/lsof.html"> lsof 一切皆文件</a></li>
</ul>
</article>
 
      

      <footer class="book-footer">
        
  <div class="flex justify-between">



  <div>
    
    <a class="flex align-center" href="https://github.com/hello-world-example/Linux/commit/d07f642a1d3d369f2ee692c45224763cdf4a7f29" title='Last modified by kaibin.yang | Dec 11, 2022' target="_blank" rel="noopener">
      <img src="/linux/svg/calendar.svg" class="book-icon" alt="Calendar" />
      <span>Dec 11, 2022</span>
    </a>
  </div>



  <div>
    <a class="flex align-center" href="https://github.com/hello-world-example/Linux/edit/master/HuGo/content/docs/200_Command/220_Troubleshooting/lsof.md" target="_blank" rel="noopener">
      <img src="/linux/svg/edit.svg" class="book-icon" alt="Edit" />
      <span>Edit this page</span>
    </a>
  </div>

</div>

 
        <script>
    var images = document.getElementsByTagName("img")
    for (var i = 0; i < images.length; i++) {
        var image = images[i]
        var src = image.getAttribute("src");
         
        if (src.startsWith("-images")) {
            image.setAttribute("src", "../" + src)
        }
         
        if (window.location.href.indexOf("/posts/")) {
            src = src.replace("../drawio/", "../../drawio/")
            image.setAttribute("src", src)
        }
         
        if (src.startsWith("../drawio/")) {
            image.setAttribute("src", src.replace("../drawio/", "../"))
        }

         
        if(src.indexOf("/svg/") < 0){
             
            image.onclick = function (e) {
                window.open(e.target.getAttribute("src"))
            }
        }
    }

</script>

      </footer>

      
  
  <div class="book-comments">

</div>
  
 

      <label for="menu-control" class="hidden book-menu-overlay"></label>
    </div>

    
    <aside class="book-toc">
      
  <nav id="TableOfContents">
  <ul>
    <li><a href="#lsof--list-open-files">lsof ( List Open Files)</a>
      <ul>
        <li><a href="#fd">FD</a></li>
        <li><a href="#type">TYPE</a></li>
        <li><a href="#案例">案例</a>
          <ul>
            <li><a href="#网络相关">网络相关</a></li>
            <li><a href="#文件占用">文件占用</a></li>
          </ul>
        </li>
        <li><a href="#参数">参数</a></li>
        <li><a href="#read-more">Read More</a></li>
      </ul>
    </li>
  </ul>
</nav>

 
    </aside>
    
  </main>

  
</body>

</html>












